home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / bin / ubuntu-bug < prev    next >
Text File  |  2008-10-20  |  2KB  |  57 lines

  1. #!/bin/sh -e
  2.  
  3. args="$@"
  4.  
  5. # Do what I mean: if just specifying a single argument, it is a package name or
  6. # PID
  7. if [ "$#" = 1 ]; then
  8.     if test "$1" -gt 0 2>/dev/null; then
  9.         args="-P $1"
  10.     elif expr "$1" : ".*/.*" >/dev/null; then
  11.         output=$(dpkg-query --search "$1" || echo '')
  12.         if expr "$output" : ".*,.*" >/dev/null; then
  13.             echo "Path '$1' matches more than one package" >&2
  14.             exit 1
  15.         elif [ -z "$output" ]; then
  16.             echo "Path '$1' does not match any package" >&2
  17.         fi
  18.  
  19.         package=${output%%:*}
  20.         args="-p $package"
  21.     else
  22.         args="-p $1"
  23.     fi
  24. fi
  25.  
  26. # check for X
  27. if [ -z "$DISPLAY" ]; then
  28.     if [ -x /usr/bin/apport-cli ]; then
  29.         /usr/bin/apport-cli -f $args
  30.     else
  31.         echo "\$DISPLAY is not set. You need apport-cli to make this program work." >&2
  32.         exit 1
  33.     fi
  34. # do we have a running Gnome/KDE session
  35. elif pgrep -u `id -u` -x gnome-session >/dev/null && \
  36.     [ -x /usr/share/apport/apport-gtk ]; then
  37.     /usr/share/apport/apport-gtk -f $args
  38. elif pgrep -u `id -u` -x ksmserver >/dev/null && \
  39.     [ -x /usr/share/apport/apport-qt ]; then
  40.         /usr/share/apport/apport-qt -f $args
  41. # fall back to calling whichever is available
  42. elif [ -x /usr/share/apport/apport-gtk ]; then
  43.     /usr/share/apport/apport-gtk -f $args
  44. elif [ -x /usr/share/apport/apport-qt ]; then
  45.     /usr/share/apport/apport-qt -f $args
  46. elif [ -x /usr/bin/apport-cli ]; then
  47.     if [ -z "$TERM" ]; then
  48.         x-terminal-emulator -e /usr/bin/apport-cli -f $args
  49.     else
  50.         /usr/bin/apport-cli -f $args
  51.     fi
  52. else
  53.     echo "Neither apport-gtk, apport-qt or apport-cli is installed. Install either to make this program work." >&2
  54.     exit 1
  55. fi
  56.  
  57.